<?php

/**
 * VehiculoVenta form.
 *
 * @package    toyomotor
 * @subpackage form
 * @author     Your name here
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class VehiculoVentaForm extends BaseVehiculoVentaForm
{
  public function configure()
  {
      unset($this['created_at'],$this['colores_list']);
      $this->widgetSchema['foto1'] = new sfWidgetFormInputFile(array('label' => 'Foto1',));
      $this->widgetSchema['foto2'] = new sfWidgetFormInputFile(array('label' => 'Foto2',));
      $this->widgetSchema['foto3'] = new sfWidgetFormInputFile(array('label' => 'Foto3',));
      $this->widgetSchema['foto4'] = new sfWidgetFormInputFile(array('label' => 'Foto4',));
      $this->widgetSchema['foto5'] = new sfWidgetFormInputFile(array('label' => 'Foto5',));
      $this->widgetSchema['foto6'] = new sfWidgetFormInputFile(array('label' => 'Foto6',));
      $this->widgetSchema['foto7'] = new sfWidgetFormInputFile(array('label' => 'Foto7',));
      $this->widgetSchema['archivo'] = new sfWidgetFormInputFile(array('label' => 'Archivo',));
      $this->widgetSchema['descripcion'] = new sfWidgetFormTextareaTinyMCEContador(array('width'  => 420, 'height' => 350, 'config' => 'theme_advanced_disable: "anchor,image,cleanup,help", theme_advanced_buttons1 : "bold, italic, underline, justifyleft, justifycenter, justifyright, justifyfull, indent, outdent, fontselect, fontsizeselect", theme_advanced_buttons2 : "bullist, numlist, |, |, undo, redo, |, link, unlink, |, forecolor, backcolor, |, cut, copy, paste, removeformat, hr", theme_advanced_buttons3 : "", theme_advanced_fonts : "Century Gothic=Century Gothic; Arial=arial,helvetica,sans-serif;Arial Black=Arial Black;Arial Narrow=Arial Narrow;Book Antiqua=Book Antiqua; Courier New=courier new,courier,monospace;AkrutiKndPadmini=Akpdmi-n; Comic Sans MS=Comic Sans MS;Courier New=Courier New;Fixedsys=Fixedsys;Franklin Gothic Medium=Franklin Gothic Medium;Garamond=Garamond;Georgia=Georgia;Impact=Impact;Lucida Console=Lucida Console;Lucida Sans Unicode=Lucida Sans Unicode;Microsoft Sans Serif=Microsoft Sans Serif;Palatino Linotype=Palatino Linotype;System=System;Tahoma=Tahoma;Times New Roman=Times New Roman;Trebuchet MS=Trebuchet MS;Verdana=Verdana",theme_advanced_path : false, setup : function(ed) { ed.onKeyUp.add(function(ed, e) { var strip = tinyMCE.activeEditor.getContent();  var text = strip.length + " Letras, recuerde que tiene un maximo de 2000"; tinymce.DOM.setHTML(tinymce.DOM.get(tinyMCE.activeEditor.id + "_path_row"), text); }); } ',));
      $this->widgetSchema['descripcion_resumen'] = new sfWidgetFormTextarea(array('label' => 'Descripcion Resumida'));  
      
      $this->validatorSchema['foto1'] = new sfValidatorFile(array('required' => false,'path' => sfConfig::get('sf_upload_dir').'/modelos', 'max_size' => 4194304, 'mime_types' => array('image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png', 'image/gif')),array('invalid' => 'Archivo inv&aacute;lido.', 'required'   => 'Selecciona una imagen.', 'mime_types' => 'El archivo debe ser en formato JPEG, PNG o GIF.', 'max_size' => 'La imagen debe ser menor de 4MB.'));
      $this->validatorSchema['foto2'] = new sfValidatorFile(array('required' => false,'path' => sfConfig::get('sf_upload_dir').'/modelos', 'max_size' => 4194304, 'mime_types' => array('image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png', 'image/gif')),array('invalid' => 'Archivo inv&aacute;lido.', 'required'   => 'Selecciona una imagen.', 'mime_types' => 'El archivo debe ser en formato JPEG, PNG o GIF.', 'max_size' => 'La imagen debe ser menor de 4MB.'));
      $this->validatorSchema['foto3'] = new sfValidatorFile(array('required' => false,'path' => sfConfig::get('sf_upload_dir').'/modelos', 'max_size' => 4194304, 'mime_types' => array('image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png', 'image/gif')),array('invalid' => 'Archivo inv&aacute;lido.', 'required'   => 'Selecciona una imagen.', 'mime_types' => 'El archivo debe ser en formato JPEG, PNG o GIF.', 'max_size' => 'La imagen debe ser menor de 4MB.'));
      $this->validatorSchema['foto4'] = new sfValidatorFile(array('required' => false,'path' => sfConfig::get('sf_upload_dir').'/modelos', 'max_size' => 4194304, 'mime_types' => array('image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png', 'image/gif')),array('invalid' => 'Archivo inv&aacute;lido.', 'required'   => 'Selecciona una imagen.', 'mime_types' => 'El archivo debe ser en formato JPEG, PNG o GIF.', 'max_size' => 'La imagen debe ser menor de 4MB.'));
      $this->validatorSchema['foto5'] = new sfValidatorFile(array('required' => false,'path' => sfConfig::get('sf_upload_dir').'/modelos', 'max_size' => 4194304, 'mime_types' => array('image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png', 'image/gif')),array('invalid' => 'Archivo inv&aacute;lido.', 'required'   => 'Selecciona una imagen.', 'mime_types' => 'El archivo debe ser en formato JPEG, PNG o GIF.', 'max_size' => 'La imagen debe ser menor de 4MB.'));
      $this->validatorSchema['foto6'] = new sfValidatorFile(array('required' => false,'path' => sfConfig::get('sf_upload_dir').'/modelos', 'max_size' => 4194304, 'mime_types' => array('image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png', 'image/gif')),array('invalid' => 'Archivo inv&aacute;lido.', 'required'   => 'Selecciona una imagen.', 'mime_types' => 'El archivo debe ser en formato JPEG, PNG o GIF.', 'max_size' => 'La imagen debe ser menor de 4MB.'));
      $this->validatorSchema['foto7'] = new sfValidatorFile(array('required' => false,'path' => sfConfig::get('sf_upload_dir').'/modelos', 'max_size' => 4194304, 'mime_types' => array('image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png', 'image/gif')),array('invalid' => 'Archivo inv&aacute;lido.', 'required'   => 'Selecciona una imagen.', 'mime_types' => 'El archivo debe ser en formato JPEG, PNG o GIF.', 'max_size' => 'La imagen debe ser menor de 4MB.'));

      $this->validatorSchema['archivo'] = new sfValidatorFile(array('required' => false,'path' => sfConfig::get('sf_upload_dir').'/archivos', 'max_size' => 5242880, 'mime_types' => array('application/msword', 'application/pdf', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/zip', 'application/x-zip', 'application/x-zip-compressed')),array('invalid' => 'Archivo inv&aacute;lido.', 'required'   => 'Selecciona un archivo.', 'mime_types' => 'El archivo debe ser en formato PDF, WORD, EXCEL o ZIP.', 'max_size' => 'El archivo debe ser menor de 5MB.'));
      
      $this->validatorSchema['descripcion_resumen'] = new sfValidatorString(array('max_length' => 120, 'required' => true), array('max_length' => 'El maximo de caracteres permitido es de 120', 'required' => 'Campo Obligatorio'));
  }
  
  /*
   * Metodo agregado para configurar correctamente el formulario y que muestre de manera separa los años y los modelos
   * Autor: Ing. Roberto Hernández De La Luz
   * Fecha: 15/09/11
   */
  
  public function nuevovv(){
      
      $this->widgetSchema['anio'] = new sfWidgetFormArrayDependentSelect(array(
            'callable' => array('ModelosAnios', 'getAnios'),
        ));
      
      $this->widgetSchema['id_ano_modelo'] = new sfWidgetFormArrayDependentSelect(array(
            'callable' => array('ModelosAnios', 'getModelos'),
            'depends' => 'anio',
        )); 
      
       $this->widgetSchema['anio']->setLabel('Año');
       $this->widgetSchema['id_ano_modelo']->setLabel('Modelo');
      
      
       $this->widgetSchema->moveField('anio', 'after', 'descripcion_resumen');
       $this->widgetSchema->moveField('id_ano_modelo', 'after', 'anio');
       
       //Codigo agregado para Recuperar correctamente los id de cada select y agregar los validadores
       $clavesanios = array_keys(ModelosAnios::getAnios());
        
        //Se debe obtener todos los id de la tabla año_modelo
        $temp = array();
        
        $aniomodelos = Doctrine_Core::getTable('AnoModelo')
                ->createQuery('a')
                ->execute();
        
        foreach($aniomodelos as $aniomodelo):
            $temp[$aniomodelo->getIdAnoModelo()] = $aniomodelo->getIdAnoModelo();
        endforeach;
        
        $clavesidmodelosanios = $temp;
        
        $this->validatorSchema['anio'] = new sfValidatorChoice(array('choices' => $clavesanios), array('required' => 'Campo Obligatorio', 'invalid' => 'No valido'));
        $this->validatorSchema['id_ano_modelo'] = new sfValidatorChoice(array('choices' => $clavesidmodelosanios), array('required' => 'Campo Obligatorio', 'invalid' => 'No valido'));

  }
  
   /*
   * Metodo agregado para configurar correctamente el formulario y que muestre de manera separa los años y los modelos
   * recuperando los valores que contenia, ya que se esta editando el vehiculo
   * Autor: Ing. Roberto Hernández De La Luz
   * Fecha: 15/09/11
   */
  
  public function editarvv($idanio, $idaniomodelo){
      
      $this->widgetSchema['anio'] = new sfWidgetFormArrayDependentSelect(array(
            'callable' => array('ModelosAnios', 'getAnios'),
            'default' => $idanio
        ));
      
      $this->widgetSchema['id_ano_modelo'] = new sfWidgetFormArrayDependentSelect(array(
            'callable' => array('ModelosAnios', 'getModelos'),
            'depends' => 'anio',
            'default' => $idaniomodelo
        ));
      
      $this->widgetSchema['anio']->setLabel('Año');
      $this->widgetSchema['id_ano_modelo']->setLabel('Modelo');
      
      
      $this->widgetSchema->moveField('anio', 'after', 'descripcion_resumen');
      $this->widgetSchema->moveField('id_ano_modelo', 'after', 'anio');
      
      $clavesanios = array_keys(ModelosAnios::getAnios());
        
        //Se debe obtener todos los id de la tabla año_modelo
        $temp = array();
        
        $aniomodelos = Doctrine_Core::getTable('AnoModelo')
                ->createQuery('a')
                ->execute();
        
        foreach($aniomodelos as $aniomodelo):
            $temp[$aniomodelo->getIdAnoModelo()] = $aniomodelo->getIdAnoModelo();
        endforeach;
        
        $clavesidmodelosanios = $temp;
        
        $this->validatorSchema['anio'] = new sfValidatorChoice(array('choices' => $clavesanios), array('required' => 'Campo Obligatorio', 'invalid' => 'No valido'));
        $this->validatorSchema['id_ano_modelo'] = new sfValidatorChoice(array('choices' => $clavesidmodelosanios), array('required' => 'Campo Obligatorio', 'invalid' => 'No valido'));
  }
  
}
